package com.xuelang.pipeline.artifact.client.resource.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * 仓库制品包实体类
 *
 * @author xiwen.zxg
 * @since 2024/5/21
 */
@ToString
@Data
public class RepositoryPackageDTO {

    /**
     * 主键，自增
     */
    private Long id;

    /**
     * 制品包UUID
     */
    private String uuid;

    /**
     * 仓库实例名称
     */
    private String instanceRepositoryName;

    /**
     * 仓库UUID
     */
    private String artifactUuid;

    /**
     * 仓库类型
     */
    private String artifactType;

    /**
     * 制品格式
     */
    private String format;

    /**
     * 包名，为NAME:GROUP的组合
     */
    private String packageName;

    /**
     * 包NAME
     */
    private String nameId;

    /**
     * 包GROUP
     */
    private String groupId;

    /**
     * 最新版本号
     */
    private String latestVersion;

    /**
     * 版本数量，默认为0
     */
    private Integer componentCount;

    /**
     * 最近更新时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime latestUpdateTime;

    /**
     * 创建人
     */
    private String creatorId;

    /**
     * 创建时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新人ID
     */
    private String updaterId;

    /**
     * 更新时间
     */
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 0否/删除、1是/使用，默认值为1
     */
    private Integer useFlag;
}
